package tni;


import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.DataBufferByte;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import javax.imageio.ImageIO;
import javax.imageio.stream.FileImageInputStream;

/**
 * @author cnavarro
 * @author mlabatino
 */
public class Data extends ArrayList{
    private String uri;
    
    public Data(String file){
        super();
        uri=file;
    }
    
    /** Fichier texte **/
    public void constructText(){
        try {
            FileInputStream f = new FileInputStream(uri);
           try {
               // On lit le fichier caractere par caractere
               for( int a = f.read(); a!=-1; a = f.read())
                 this.add((char)a);
           }finally { 
               f.close();
           }
        } catch (FileNotFoundException e) {
            System.out.println("Erreur de lecture du fichier : "+e);
        }
        catch (IOException e) {
             System.out.println("Erreur : "+e);
        }
    } 

    /** Fichier image **/
    public void constructImage(){
        try {
            BufferedImage br = ImageIO.read(new File(uri));
            for(int i1=0; i1<br.getWidth(); i1++){
                for(int i2=0; i2<br.getHeight(); i2++)
                    this.add((int)br.getRGB(i1,i2));
            }
        } catch (Exception e) {
        }
    }
    
    public void show(){
        for(int i=0; i<size(); i++)
            System.out.println(get(i));
    }
}
